import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')

// 提前计算构建时间
const buildTime = new Date().toISOString()

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd())
  return {
    plugins: [
      vue(),
    ],
    resolve: {
      alias: [
        // 别名配置
        {
          find: '@',
          replacement: resolve(__dirname, 'src')
        }
      ]
    },
    base: env.VITE_APP_BASE_PATH || '/',
    define: {
      __BUILD_TIME__: JSON.stringify(buildTime) // 安全的构建时间定义
    },
    server: {
      // 服务器主机名
      host: 'localhost',
      // 端口号
      port: 3200,
      // 设为 true 时若端口已被占用则会直接退出，而不是尝试下一个可用端口
      strictPort: false,
      // 服务器启动时自动在浏览器中打开应用程序,当此值为字符串时，会被用作 URL 的路径名
      open: false,
      // 自定义代理规则
      proxy: {
        // 选项写法
        '/api': {
          target: 'https://10.19.153.141:44080',
          // target: 'http://10.19.153.141:46080',
          changeOrigin: true,
          secure: false,
          rewrite: path => path.replace(/^\/api/, '')
        }
      }
    }
  }
})
